package com.atguigu.pojo;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;

//购物车
public class  Cart {

    public Cart(){}

    public Cart(Map<Integer, CartItem> cartItemMap) {
        this.cartItemMap = cartItemMap;
    }

    private Map<Integer,CartItem> cartItemMap = new HashMap<>();
    //购物车中书籍的总数量
    private Integer totalCount ;
    //购物车的总金额
    private Double totalMoney ;

    public Integer getTotalCount() {
        int totalCountTemp = 0 ;
        /*
        cartItemMap.values().forEach(cartItem->{
            totalCountTemp += cartItem.getBuyCount();
        });
        */
        for(CartItem cartItem : cartItemMap.values()){
            totalCountTemp += cartItem.getBuyCount();
        }
        totalCount = totalCountTemp ;
        return totalCount;
    }

    public Double getTotalMoney() {
//        Double totalMoneyTemp = 0.0 ;
//        for(CartItem cartItem : cartItemMap.values()){
//            totalMoneyTemp += (cartItem.getBuyCount()*cartItem.getPrice());
//        }
//        totalMoney = totalMoneyTemp ;
//        return totalMoney;
        BigDecimal totalMoneyTemp = new BigDecimal("0");
        for (CartItem cartItem : cartItemMap.values()) {
            BigDecimal price = new BigDecimal(cartItem.getPrice());
            BigDecimal buyCount = new BigDecimal((cartItem.getBuyCount()));
            BigDecimal multiply = price.multiply(buyCount);
            BigDecimal add = totalMoneyTemp.add(multiply);
            totalMoneyTemp=add;
        }
        totalMoney=totalMoneyTemp.doubleValue();
        return totalMoney;
    }

    public Map<Integer, CartItem> getCartItemMap() {
        return cartItemMap;
    }

    public void setCartItemMap(Map<Integer, CartItem> cartItemMap) {
        this.cartItemMap = cartItemMap;
    }
}
